package com.thinkTank.oa.dao;

import java.util.List;

import com.thinkTank.oa.base.BaseMapper;
import com.thinkTank.oa.entity.Person;

/**
 * 专家dao
 * @author 董力
 * 2018-8-9
 */
public interface PersonMapper extends BaseMapper<Person> {

	/**
	 * 新增
	 * @param person
	 */
	public void addPerson(Person person);
	
	/**
	 * 模糊查询专家表
	 * @param map
	 * @return
	 */
	public List<Person> findMPersonList(Person person);
	
	/**
	 * 通过pid查询专家
	 * @param id
	 * @return
	 */
	public Person findPersonByPid(String pid);
	
	/**
	 * 通过姓名、电话、邮箱查询专家
	 * @param person
	 * @return
	 */
	public Person findPersonByNameAndTellAndEmail(Person person);
	
	/**
	 * 修改
	 * @param person
	 */
	public void updatePerson(Person person);
	
	/**
	 * 通过联系方式查询
	 * @param person
	 * @return
	 */
	public List<Person> queryByContact(Person person);

	/**
	 * personIdList通过in关键字查询出person集合
	 * @author pdz
	 * @date 2018年8月17日
	 * @param personIdList
	 * @return
	 */
    public List<Person> queryByPersonIdList(List<String> personIdList);

    /**
     * 根据项目ID查询持有人
     * @author pdz
     * @date 2018年8月20日
     * @param projectId
     * @return
     */
    public List<Person> queryHolders(String projectId);
    
    /**
     * 通过姓名+任意一种联系方式查询专家
     * @author dongli
     * @date 2018年9月5日
     * @param person
     * @return
     */
    public Person findPersonByInfo(Person person);
    
    public List<Person> findPersonByIndex(Integer count);
    
    public List<Person> queryInExpertNumber(List<Integer> expertNumberList);
    
    /**
     * 模糊分页查询专家表
     * @author dongli
     * @date 2018年11月9日
     * @param person
     * @return
     */
    public List<Person> findMFPersonList(Person person);
}
